package com.dianban.service;

import com.dianban.base.ResultVo;
import com.dianban.entity.FacePayCommissionConfig;
import com.dianban.entity.User;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface UserService {

    User findByMobile(String phone);

    User findById(Long  id);

    List<User> findChildren(Long  id);

    ResultVo updateCoupon(BigDecimal coupon , BigDecimal energy, Long userId,Long shopUserId);

    ResultVo updateMoney(BigDecimal money, Long userId,Long shopUserId);

    ResultVo updateGoldBean(BigDecimal goldBean, Long userId,Long shopUserId);

    Map<String,Object> findVerify(String type,User user,Long goodsId,Long storeId,String orderType,String money);

    int updateFacePayCommission(BigDecimal facePayCommission, Long userId,String type,Long orderId,String ext);

    int canBecomeStation(Long userId,Long storeId);

    int updateFacePayCommission(BigDecimal facePayCommission, Long userId,String type,Long orderId,String ext,FacePayCommissionConfig facePayCommissionConfig);

    void updateFacePayCommissionAndMoneyLog(BigDecimal money, User user);

    void updateOpenid(String openid, String userId);

    List<User> findFirstChildren(Long id);
}
